Thema Datum  Von Nutzer Rating
Antwort
20.12.2022 15:46:33 Gast12887
Solved
21.12.2022 14:04:27 Gast7136
NotSolved
21.12.2022 14:29:35 Gast12887
NotSolved
Blau Array.ForEach(s, s => File.CreateText() );
21.12.2022 15:27:53 Gast10368
NotSolved
21.12.2022 20:19:58 Gast12887
NotSolved

Ansicht des Beitrags:
Von:
Gast10368
Datum:
21.12.2022 15:27:53
Views:
172
Rating: Antwort:
  Ja
Thema:
Array.ForEach(s, s => File.CreateText() );

Wenn es dir nur darum geht, andere Implementierungs-Möglichkeiten zu sehen.

void Main()
{
    Console.WriteLine("Main: begin");

    Task<int> workload = Task.Run(GetDataAsync).ContinueWith(t => SplitIntoFiles(t.Result));

    Console.WriteLine("Main: Meanwhile, doing some other stuff ...");

    workload.Wait();
    Console.WriteLine("Main: How you doin' mate?");

    Console.WriteLine($"Main: end (files created: {workload.Result})");
}

static int SplitIntoFiles(string data)
{
    Console.WriteLine("SplitIntoFiles: begin");

    int n = 0;
    foreach (string dataSegment in data.Split('%'))
    {
        n++;
        Console.WriteLine($"segment >> '{dataSegment}'");
    }

    Console.WriteLine("SplitIntoFiles: end");

    return n;
}

static async Task<string> GetDataAsync()
{
    Console.WriteLine("GetDataAsync: begin reading file ...");

    string result;
    using (StreamReader sr = new StreamReader(@"C:\Temp\Daten.txt"))
    {
        result = await sr.ReadToEndAsync();
    }

    Console.WriteLine("GetDataAsync: end");

    return result;
}

Das ganze async zu lesen, macht übrigens nur Sinn, wenn du derweil noch andere Dinge tun willst... bzw. wenn das in einer UI läuft, die UI nicht belasten möchtest. Andernfalls kannst du auf das async verzichten.

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.12.2022 15:46:33 Gast12887
Solved
21.12.2022 14:04:27 Gast7136
NotSolved
21.12.2022 14:29:35 Gast12887
NotSolved
Blau Array.ForEach(s, s => File.CreateText() );
21.12.2022 15:27:53 Gast10368
NotSolved
21.12.2022 20:19:58 Gast12887
NotSolved